package com.roy.roycodegenerator.service.file;

import java.io.InputStream;
import java.util.List;

import org.apache.commons.net.ftp.FTPFile;

import com.roy.royminidao.common.framework.lang.result.GenericResult;
import com.roy.royminidao.common.framework.lang.result.Result;

import net.sf.jsqlparser.statement.select.Limit;

/**
 * 
 * 文件管理服务处理接口类<br>
 * 〈功能详细描述〉
 *
 * @author roy
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
public interface FileService {

    /**
     * 查询文件列表
     *
     * @param pathname
     * @param limit
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    public GenericResult<List<FTPFile>> queryFile(String pathname, Limit limit);

    /**
     * 下载文件
     *
     * @param pathname
     * @param filename
     * @param response
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    public Result downFile(String fileCode);

    /**
     * 
     * 功能描述:上传文件信息 <br>
     * 〈功能详细描述〉
     *
     * @param remoteFilePath 文件路径
     * @param remoteFileName 文件名称
     * @param localInput 文件流
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    public Result uploadFile(String remoteFilePath, String remoteFileName, InputStream localInput);

}
